package com.google.code.jcooky.rpc.compiler;

import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.commons.io.IOUtils;

public class StringUtils {
	public static String read(String path) throws IOException {
		return IOUtils.toString(new InputStreamReader(StringUtils.class.getResourceAsStream("/layouts/"+path), "UTF-8"));
	}
	
	public static String copyOfString(String str) {
		byte[] src = str.getBytes();
		byte[] dest = new byte[src.length];
		System.arraycopy(src, 0, dest, 0, src.length);
		
		return new String(dest);
	}
	
	public static String toJavaType(String type, String namespace) {
		if(type.equals("int"))
			return Integer.class.getName();
		else if(type.equals("short"))
			return Short.class.getName();
		else if(type.equals("char"))
			return Character.class.getName();
		else if(type.equals("byte"))
			return Byte.class.getName();
		else if(type.equals("float"))
			return Float.class.getName();
		else if(type.equals("double"))
			return Double.class.getName();
		else if(type.equals("long"))
			return Long.class.getName();
		else if(type.equals("string"))
			return String.class.getName();
		else if(type.equals("bool"))
			return Boolean.class.getName();
		else if(type.equals("list"))
			return java.util.List.class.getName();
		else if(type.equals("map"))
			return java.util.Map.class.getName();
		else if(type.equals("void"))
			return type;
		else {
			return namespace + "." + type;
		}
	}
}
